home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dlasd7.z / dlasd7
Encoding:
Text File  |  2002-10-03  |  8.9 KB  |  265 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))                                                          DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLASD7 - merge the two sets of singular values together into a single
  10.      sorted set
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DLASD7( ICOMPQ, NL, NR, SQRE, K, D, Z, ZW, VF, VFW, VL, VLW,
  14.                         ALPHA, BETA, DSIGMA, IDX, IDXP, IDXQ, PERM, GIVPTR,
  15.                         GIVCOL, LDGCOL, GIVNUM, LDGNUM, C, S, INFO )
  16.  
  17.          INTEGER        GIVPTR, ICOMPQ, INFO, K, LDGCOL, LDGNUM, NL, NR, SQRE
  18.  
  19.          DOUBLE         PRECISION ALPHA, BETA, C, S
  20.  
  21.          INTEGER        GIVCOL( LDGCOL, * ), IDX( * ), IDXP( * ), IDXQ( * ),
  22.                         PERM( * )
  23.  
  24.          DOUBLE         PRECISION D( * ), DSIGMA( * ), GIVNUM( LDGNUM, * ),
  25.                         VF( * ), VFW( * ), VL( * ), VLW( * ), Z( * ), ZW( * )
  26.  
  27. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  28.      These routines are part of the SCSL Scientific Library and can be loaded
  29.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  30.      directs the linker to use the multi-processor version of the library.
  31.  
  32.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  33.      4 bytes (32 bits). Another version of SCSL is available in which integers
  34.      are 8 bytes (64 bits).  This version allows the user access to larger
  35.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  36.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  37.      only one of the two versions; 4-byte integer and 8-byte integer library
  38.      calls cannot be mixed.
  39.  
  40. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  41.      DLASD7 merges the two sets of singular values together into a single
  42.      sorted set. Then it tries to deflate the size of the problem. There are
  43.      two ways in which deflation can occur:  when two or more singular values
  44.      are close together or if there is a tiny entry in the Z vector. For each
  45.      such occurrence the order of the related secular equation problem is
  46.      reduced by one.
  47.  
  48.      DLASD7 is called from DLASD6.
  49.  
  50.  
  51. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  52.      ICOMPQ  (input) INTEGER
  53.              Specifies whether singular vectors are to be computed in compact
  54.              form, as follows:
  55.              = 0: Compute singular values only.
  56.              = 1: Compute singular vectors of upper bidiagonal matrix in
  57.              compact form.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))                                                          DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      NL     (input) INTEGER
  75.             The row dimension of the upper block. NL >= 1.
  76.  
  77.      NR     (input) INTEGER
  78.             The row dimension of the lower block. NR >= 1.
  79.  
  80.      SQRE   (input) INTEGER
  81.             = 0: the lower block is an NR-by-NR square matrix.
  82.             = 1: the lower block is an NR-by-(NR+1) rectangular matrix.
  83.  
  84.             The bidiagonal matrix has N = NL + NR + 1 rows and M = N + SQRE >=
  85.             N columns.
  86.  
  87.      K      (output) INTEGER
  88.             Contains the dimension of the non-deflated matrix, this is the
  89.             order of the related secular equation. 1 <= K <=N.
  90.  
  91.      D      (input/output) DOUBLE PRECISION array, dimension ( N )
  92.             On entry D contains the singular values of the two submatrices to
  93.             be combined. On exit D contains the trailing (N-K) updated
  94.             singular values (those which were deflated) sorted into increasing
  95.             order.
  96.  
  97.      Z      (output) DOUBLE PRECISION array, dimension ( M )
  98.             On exit Z contains the updating row vector in the secular
  99.             equation.
  100.  
  101.      ZW     (workspace) DOUBLE PRECISION array, dimension ( M )
  102.             Workspace for Z.
  103.  
  104.      VF     (input/output) DOUBLE PRECISION array, dimension ( M )
  105.             On entry, VF(1:NL+1) contains the first components of all
  106.             right singular vectors of the upper block; and VF(NL+2:M) contains
  107.             the first components of all right singular vectors of the lower
  108.             block. On exit, VF contains the first components of all right
  109.             singular vectors of the bidiagonal matrix.
  110.  
  111.      VFW    (workspace) DOUBLE PRECISION array, dimension ( M )
  112.             Workspace for VF.
  113.  
  114.      VL     (input/output) DOUBLE PRECISION array, dimension ( M )
  115.             On entry, VL(1:NL+1) contains the  last components of all
  116.             right singular vectors of the upper block; and VL(NL+2:M) contains
  117.             the last components of all right singular vectors of the lower
  118.             block. On exit, VL contains the last components of all right
  119.             singular vectors of the bidiagonal matrix.
  120.  
  121.      VLW    (workspace) DOUBLE PRECISION array, dimension ( M )
  122.             Workspace for VL.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))                                                          DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      ALPHA  (input) DOUBLE PRECISION
  141.             Contains the diagonal element associated with the added row.
  142.  
  143.      BETA   (input) DOUBLE PRECISION
  144.             Contains the off-diagonal element associated with the added row.
  145.  
  146.             DSIGMA (output) DOUBLE PRECISION array, dimension ( N ) Contains a
  147.             copy of the diagonal elements (K-1 singular values and one zero)
  148.             in the secular equation.
  149.  
  150.      IDX    (workspace) INTEGER array, dimension ( N )
  151.             This will contain the permutation used to sort the contents of D
  152.             into ascending order.
  153.  
  154.      IDXP   (workspace) INTEGER array, dimension ( N )
  155.             This will contain the permutation used to place deflated values of
  156.             D at the end of the array. On output IDXP(2:K)
  157.             points to the nondeflated D-values and IDXP(K+1:N) points to the
  158.             deflated singular values.
  159.  
  160.      IDXQ   (input) INTEGER array, dimension ( N )
  161.             This contains the permutation which separately sorts the two sub-
  162.             problems in D into ascending order.  Note that entries in the
  163.             first half of this permutation must first be moved one position
  164.             backward; and entries in the second half must first have NL+1
  165.             added to their values.
  166.  
  167.      PERM   (output) INTEGER array, dimension ( N )
  168.             The permutations (from deflation and sorting) to be applied to
  169.             each singular block. Not referenced if ICOMPQ = 0.
  170.  
  171.             GIVPTR (output) INTEGER The number of Givens rotations which took
  172.             place in this subproblem. Not referenced if ICOMPQ = 0.
  173.  
  174.             GIVCOL (output) INTEGER array, dimension ( LDGCOL, 2 ) Each pair
  175.             of numbers indicates a pair of columns to take place in a Givens
  176.             rotation. Not referenced if ICOMPQ = 0.
  177.  
  178.             LDGCOL (input) INTEGER The leading dimension of GIVCOL, must be at
  179.             least N.
  180.  
  181.             GIVNUM (output) DOUBLE PRECISION array, dimension ( LDGNUM, 2 )
  182.             Each number indicates the C or S value to be used in the
  183.             corresponding Givens rotation. Not referenced if ICOMPQ = 0.
  184.  
  185.             LDGNUM (input) INTEGER The leading dimension of GIVNUM, must be at
  186.             least N.
  187.  
  188.      C      (output) DOUBLE PRECISION
  189.             C contains garbage if SQRE =0 and the C-value of a Givens rotation
  190.             related to the right null space if SQRE = 1.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))                                                          DDDDLLLLAAAASSSSDDDD7777((((3333SSSS))))
  203.  
  204.  
  205.  
  206.      S      (output) DOUBLE PRECISION
  207.             S contains garbage if SQRE =0 and the S-value of a Givens rotation
  208.             related to the right null space if SQRE = 1.
  209.  
  210.      INFO   (output) INTEGER
  211.             = 0:  successful exit.
  212.             < 0:  if INFO = -i, the i-th argument had an illegal value.
  213.  
  214. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  215.      Based on contributions by
  216.         Ming Gu and Huan Ren, Computer Science Division, University of
  217.         California at Berkeley, USA
  218.  
  219.  
  220. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  221.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  222.  
  223.      This man page is available only online.
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.